﻿//#define _CRT_SECURE_NO_WARNINGS
//#include "List.h"
//
//int main()
//{
//	LTNode* p1 = NULL;
//	LTNode* p2 = NULL;
//
//	ListNodePushBack(&p1, 1);
//	ListNodePushBack(&p1, 6);
//	ListNodePushBack(&p1, 4);
//	ListNodePushBack(&p1, 2);
//
//	ListNodePushBack(&p2, 2);
//	ListNodePushBack(&p2, 3);
//	ListNodePushBack(&p2, 4);
//	ListNodePushBack(&p2, 5);
//
//
//
//	SListNodePrint(p1);
//	SListNodePrint(p2);
//
//	DestroySList(&p1);
//	DestroySList(&p2);
//	p1 = NULL;
//	p2 = NULL;
//
//
//	return 0;
//}

#define _CRT_SECURE_NO_WARNINGS

//#include <iostream>
//#include <string>
//#include <vector>
//using namespace std;
//
//int main()
//{
//    string str1;
//    string str2;
//    string max_sub;
//    getline(cin, str1);
//    getline(cin, str2);
//
//    if (str2.size() < str1.size())
//    {
//        str1.swap(str2);
//    }
//
//    for (int last = 0; last < str1.size(); ++last)
//    {
//        for (int fast = last; fast < str1.size(); ++fast)
//        {
//            string tmp = str1.substr(last, fast - last);
//            if (str2.find(tmp) != string::npos)
//            {
//                if (tmp.size() > max_sub.size())
//                {
//                    max_sub = tmp;
//                }
//            }
//        }
//    }
//
//    cout << max_sub << endl;
//
//    return 0;
//}

#include <iostream>
#include <ctime>
#include <cstdlib>
#include <vector>
#include <map>
#include <unordered_map>
using namespace std;

const int N = 10000000;

int main()
{
	srand((size_t)time(nullptr));
	map<int, int> mp;
	unordered_map<int, int> ump;
	vector<int> v(N);
	clock_t begin = 0;
	clock_t end = 0;

	for (auto& num : v)
	{
		num = rand();
	}

	begin = clock();
	for (const auto& num : v)
	{
		mp.insert(make_pair(num, num));
	}
	end = clock();
	cout << "map插入时间：" << end - begin << endl;

	begin = clock();
	for (const auto& num : v)
	{
		ump.insert(make_pair(num, num));
	}
	end = clock();
	cout << "unordered_map插入时间：" << end - begin << endl;


	begin = clock();
	for (const auto& num : v)
	{
		mp[num];
	}
	end = clock();
	cout << "map查找时间：" << end - begin << endl;

	begin = clock();
	for (const auto& num : v)
	{
		ump[num];
	}
	end = clock();
	cout << "unordered_map查找时间：" << end - begin << endl;


	return 0;
}